A storage device is a disk storage system including a plurality of disk devices. In a disk device, data can be recorded on disks. Methods of accessing a disk include sequential access and random access. According to sequential access, accesses are made sequentially to successive blocks on a disk. According to random access, accesses are made to blocks existing discretely on a disk.
SCSI (Small Computer System Interface) has standardized messages for controlling accesses to a disk device. A “Simple Queue Tag” message is a message that makes a disk device determine execution order in order to control command queues and optimize the display device. An “Ordered Queue Tag” message is a message for executing a queue that has already received a queuing process, that is, a message for executing commands in an order in which the disk device received those commands. A “Head Of Queue Tag” message is a message for making a disk device execute a command the most preferentially.
When an access is made to a disk, a Simple Queue Tag is often specified. When a Simple Queue Tag has been specified, commands related to access destinations having closer physical addresses are processed preferentially, which is a characteristic of this message.
It is assumed, for example, that sequential accesses concentrate in a disk in greater numbers than random accesses. Also, it is assumed that the access destinations of commands A, B, D, and E are blocks 1, 2, 3, and 4, which are successive on the disk, that the access destination of command C is a block that is apart from blocks 1 through 4 on the disk, and that the disk device has received command 1 (sequential access), command 2 (sequential access), command 3 (random access), command 4 (sequential access), and command 5 (sequential access) in this order. In such a case, the processes are executed in the order of command 1 (sequential access), command 2 (sequential access), command 4 (sequential access), command 5 (sequential access), and command 3 (random access).
The techniques below are examples of techniques of securing responses in relation to a disk device.
As a first technique, there is a technique that performs control in such a manner that command processes in a disk device are promoted when a command that has not been executed after a prescribed time has elapsed is detected.
As a second technique, there is a technique as follows. A command batch generation unit of an external storage control unit reads, from the reception queue as a group (batch), the number of commands so that the sum of process time prediction values for those commands, predicted by a prediction value table, is a prescribed period of time. The batch is stored in a transmission queue. The command queuing unit selects a disk device having the highest prediction value for the command processing time, and extracts commands so as to issue the command to the corresponding disk device. This process is repeated. When the transmission queue becomes empty, a next batch is read.
As a third technique, there is a technique as follows. A storage device has a function of queuing commands, and may sometimes execute commands in an order different from the order of receiving those commands, and has a function of limiting the number of times that a command is overtaken by other commands received later. Two or more values are prepared for the storage device so as to limit the number of times overtaking occurs. Further, separate values are applied to the storage device for read commands and write commands.
Patent Document 1: Japanese Laid-open Patent Publication No. 2000-181853
Patent Document 2: Japanese Laid-open Patent Publication No. 9-258907
Patent Document 3: Japanese Laid-open Patent Publication No. 2001-249770